// 封装一个函数，获取当前时间段
export const getTime = () => {
    let message = ''
    // 通过内置构造函数Date
    let hours = new Date().getHours()
    if (hours <= 9) {
        message = '上午'
    } else if (hours <= 12) {
        message = '中午'
    } else if (hours <= 18) {
        message = '下午'
    } else {
        message = '晚上'
    }
    return message
}

// 格式化服务器返回的时间，处理时区问题
export const formatServerTime = (timeString?: string) => {
    if (!timeString) return ''
    try {
        const date = new Date(timeString)
        
        // 检查日期是否有效
        if (isNaN(date.getTime())) {
            console.warn('无效的时间字符串:', timeString)
            return timeString
        }
        
        // 服务器返回的是UTC时间，需要转换为本地时间（中国时区UTC+8）
        // 手动减去8小时来修正时区问题
        const localDate = new Date(date.getTime() - 8 * 60 * 60 * 1000)
        return localDate.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })
    } catch (error) {
        console.error('时间格式化错误:', error, '时间字符串:', timeString)
        return timeString
    }
}

// 格式化服务器返回的完整日期时间
export const formatServerDateTime = (timeString?: string) => {
    if (!timeString) return ''
    try {
        const date = new Date(timeString)
        
        // 检查日期是否有效
        if (isNaN(date.getTime())) {
            console.warn('无效的日期时间字符串:', timeString)
            return timeString
        }
        
        // 服务器返回的是UTC时间，需要转换为本地时间（中国时区UTC+8）
        // 手动减去8小时来修正时区问题
        const localDate = new Date(date.getTime() - 8 * 60 * 60 * 1000)
        
        return localDate.toLocaleString('zh-CN', {
            year: 'numeric',
            month: '2-digit',
            day: '2-digit',
            hour: '2-digit',
            minute: '2-digit'
        })
    } catch (error) {
        console.error('日期时间格式化错误:', error, '时间字符串:', timeString)
        return timeString
    }
}
